1. Technical Field
This disclosure relates to semiconductor testing and more particularly, to a method for creating a simplified test program for a semiconductor wafer tester which provides flexibility and cost savings for testing programs.
2. Description of the Related Art
Semiconductor testers include several modules or devices among these are a pattern generator, a scrambler and a probe card and socket file. These devices provide different testing configurations and patterns for testing semiconductor wafer components. Wafer testers are typically run by a master program. The master program coordinates all testing functions and modules by setting appropriate parameters for different modules or programs for the wafer tester. The master program is typically hundreds or even thousands of files in a library of files and programmed in a particular language which may vary depending on the different manufacturers of the tester. The master programs are typically difficult to use and are especially difficult to follow when viewing the actual programming code.
During a test, a device under test (DUT) is coupled to the tester. A user may want to set the type of test which is desired by first initiating the master program. However, starting the program in itself is difficult and may require special training. In addition, if the user wants to run a specific test, the user must first analyze the code to determine the test settings or read a manual, which is typically sent in association with the master program. The code for the master program is often referred to as spaghetti code since it is difficult to follow.
To run a specific test from the master program, it is necessary to know all the settings of the system and modules to appropriately run the test. Since the master program is typically started at the beginning each time and must run through thousands of lines of code before the settings are actually set for a particular test. The task of running a single desired test becomes very difficult.
To further complicate the task, master programs are typically written with a plurality of subroutines which set a variable or tester setting after the subroutine has run. The master program or production test program code is difficult to decipher in terms of identifying specific tests, and specific settings.
Debugging, describing a test problem and learning testing languages becomes quite difficult with huge test programs, huge variable allocation, many subroutines, equations, macros and included files. Also compiler switches and cryptic naming conventions aggravate debugging and the understanding of special or arbitrary tests.
Therefore, a need exists for a system and method for extracting a specific test program from a production test program.
A method for providing specific test programs from a production test program for testing semiconductor devices, in accordance with the present invention, includes providing a semiconductor device to be tested by a tester and initiating a production test program. The production test program includes a plurality of program files and test code sequences. The production test program is held at a test, which is to be extracted, and register information and settings are extracted from the tester for the test to be extracted. The register information and settings are stored in a storage file, and the storage file is assembled and translated to provide an executable test program for an extracted test for testing the semiconductor device or other semiconductor devices.
Another method for providing specific test programs from a production test program for testing semiconductor devices, in accordance with the present invention includes providing a semiconductor device to be tested by a tester and initiating a production test program. The production test program includes a plurality of program files and test code sequences. The production test program is held at a test, which is to be extracted, and register information and settings are extracted from the tester for the test to be extracted. The register information and settings are stored in a storage file. The storage file is assembled and translated to provide an executable test program for an extracted test for testing the semiconductor device or other devices by identifying commands in the storage file and translating the commands to programming code. The executable program file is executed to run the extracted test on the semiconductor device or other semiconductor devices.
In other methods, the step of extracting register information and settings from the tester for the test to be extracted may include the step of extracting parameters of the production test program, test settings, format information, counts for counters of loops, other counters, address bits and compression parameters. The step of storing the register information and settings in a storage file may include the step of storing the register information and settings in a storage file in binary or ASCII format. The step of holding the production test program at a test, which is to be extracted may include the step of manually holding the production test program by stopping the production test program by a user. The step of holding the production test program at a test which is to be extracted may include the step of holding the production test program by stopping the production test program when a flag is encountered by the production test program.
In still other methods, the step of assembling and translating the storage file may include the step of identifying commands in the storage file and translating the commands to programming code. The programming code may include C or C++ programming code. The step of executing the executable program file to run the extracted test on the semiconductor device or other semiconductor devices may be included. The step of modifying the executable program file to run a modified version of the extracted test on the semiconductor chip may also be included. The methods of the present invention may be implemented by a program storage device readable by machine, tangibly embodying a program of instructions executable by the machine to perform method steps for providing specific test programs from a production test program for testing semiconductor devices.
These and other objects, features and advantages of the present invention will become apparent from the following detailed description of illustrative embodiments thereof, which is to be read in connection with the accompanying drawings.